In complex computer systems, the development of a configuration for each particular computer environment can be difficult, and is often a matter of experimentation and guesswork to develop a working model. Because a complex system may include many disparate environments, this generally requires repeating the development process numerous times as various systems in different locations are configured.
If a configuration is developed for a system and is found to operate effectively, this generally is of little help for other systems. In a conventional operation, a developer or user may wish to copy a configuration over to another system or to develop a configuration for use in multiple systems, but this is generally not possible because of system dependencies built into the configuration. Certain elements of the configuration will depend on the characteristics of the individual computer systems that are configured, and such characteristics will generally be different for each system that is encountered.
A conventional system configuration is static, and thus is not adaptable to new environments. If a developer or user wishes to copy a working configuration for one system to another system or to develop a configuration for use in multiple computer systems, it is necessary to identify all system dependent configuration elements, to determine how the system dependent configuration elements need to be set to operate in each system, and then to set these configuration elements. Thus, the transfer of a configuration from one system to another is a time-consuming process, and the effort required to correct problems severely limits any advantage that might be gained in copying system configurations or attempting to a common configuration for multiple different systems.